As computers have become more complex and powerful, the manner in which end users or operators interface with computers has grown increasingly important. Early computers relied on switches, lights, and/or punch cards that required an end user to interact essentially in the computers' native binary languages. Eventually, video displays were developed that enabled end users to interact with computers through textual information and commands. Another significant step in this evolution was the development of graphical user interfaces (GUI's), which permitted end users to interact with computers through the more intuitive operations of “pointing and clicking” on graphical display elements or objects with a pointer (or cursor) controlled by a mouse or other user interface device.
Many GUI's also support a “drag and drop” metaphor. Dragging and dropping functionality allows a user to perform an operation such as moving graphical display elements or cutting and pasting graphical display elements via a mouse. In addition, when a drop destination is for an application, typically any document or file that is dropped on the destination, results in the document or file being opened in that application. Dragging may be accomplished by positioning a pointer over a graphical display element to be dragged, depressing a mouse button, moving the mouse while the button is depressed until the pointer and the dragged element are over the desired drop destination, and then releasing the mouse button.
Positioning a pointer over a desired graphical display element such as an icon and successfully dragging and dropping the graphical display element to the desired destination is often difficult to accomplish, leading to frustration and/or lowered productivity. In particular, a successful drag and drop operation may require significant mouse movement and a level of accuracy that some users may not possess. Also, in some instances a user may accidently drop an element on the wrong destination, leading to unintended results. In some instances, a user may have diminished visual or physical abilities such as reduced dexterity, reduced hand-eye coordination, unsteady hands, etc. that may further hinder success. An unsuccessful drag and drop operation is problematic because the user may have to repetitively readjust the pointer and repetitively drag and drop the graphical display element, and may result in an accidental drop. An accidental drop may result, for example, in the unintentional dropping of a graphical user display for a document onto a graphical display element for the trash, or some folder or directory, or possibly on an element for an application that is ordinarily not used to open the document.
Additionally, unsuccessful drag and drop operations may also be attributable to the computer system. For example, a web environment may hinder successful drag and drop operations due to web page latency, smaller window sizes, or a high density presentation of multiple graphical display elements. Similarly, some devices such as palm-held devices and other mobile devices have both small displays and less precise navigation methods, which may make graphical display elements extremely difficult to drag and drop successfully.
Although some tools are available to assist users with dragging and dropping, these tools may significantly change the conventional drag and drop paradigm users are accustomed to and/or may require even greater dexterity and mouse movement than conventional drag and drop operations.
A need therefore exists for an improved manner of assisting users with dropping a graphical display element onto a desired destination.